module.exports = {
  // 暴力破解法
  sum21: function (arr, target) {
    const result = []
    // ##BEGIN##
    for (var i = 0; i < arr.length; i++) {
      for (var j = i + 1; j < arr.length; j++) {
        if ((arr[i] + arr[j]) === target) {
          return [i, j]
        }
      }
    }
    // ##END##
    return result
  },
  // // 两遍哈希表
  // sum2: function (arr, target) {
  //   const result = []
  //   const map = {}
  //   arr.forEach((it, idx) => {
  //     map[it] = idx
  //   })

  //   // ##BEGIN##
  //   for (var i = 0; i < arr.length; i++) {
  //     var res = target - arr[i]
  //     var j = map[res]
  //     if (j !== undefined) {
  //       return [i, j]
  //     }
  //   }
  //   // ##END##
  //   return result
  // },
  // // 一遍哈希表
  sum2: function (arr, target) {
    const result = []
    const map = {}
    // ##BEGIN##
    for (var i = 0; i < arr.length; i++) {
      var res = target - arr[i]
      var j = map[res]
      if (j !== undefined && i !== j) {
        return i < j ? [i, j] : [j, i]
      }
      map[arr[i]] = i
    }
    // ##END##
    return result
  }
}
